﻿class AlineacionArribaAbajo extends Alineacion {
	private var dis_v_receptor:Number;   // distancia del receptor al límite vertical del sistema de referencia (último punto dentro del área visible)
	
	public static var wrap:Function = aplicar;
	
	public static function aplicar(receptor:MovieClip):AlineacionArribaAbajo {
		var alineacion:AlineacionArribaAbajo = new AlineacionArribaAbajo(receptor);
		return alineacion;
	}

	public function AlineacionArribaAbajo(receptor:MovieClip) {
		super(receptor);
	}
	
	private function inicializar_alineacion():Void {
		super.inicializar_alineacion();
		dis_v_receptor = _referencia.area._height - (origen_receptor.y+_receptor[prop_h]);
	}
	
	/**
	 * Alineación izquierda-derecha del receptor.
	 * @param w_ventana Ancho de la ventana medido desde el sistema de _referencia
	 * @param h_ventana Alto de la ventana medido desde el sistema de _referencia
	 */
	public function alinear(w_ventana:Number, h_ventana:Number):Void {
		_receptor[prop_h] = h_ventana-origen_receptor.y-dis_v_receptor;
	}
}